<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        let data = {
            name: "名师",
        }
        // 以下肯定会报错，内存溢出，为什么？
        // 我们一定要明确响应式是两个对象之间的联动，你这个明显是死循环，读name时候找到返回是data.name,data.name不就是读取name嘛
        // 那还要找到get，这不是死循环嘛。写入也是这样的道理
        Object.defineProperty(data, 'name', {
            get() {
                return data.name
            },
            set(val) {
                data.name = val
            }
        })
    </script>

</body>

</html>